From f53f65aa115c0cd515f1b864e2d44c21c1f97632 Mon Sep 17 00:00:00 2001 From: robertlipe Date: Mon, 11 Nov 2013 03:24:56 +0000 Subject: [PATCH] Allow GPX reader to terminate if it detects Invalid state. --- gpsbabel/gpx.cc | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/gpsbabel/gpx.cc b/gpsbabel/gpx.cc index 532bb6137..9a455a268 100644 --- a/gpsbabel/gpx.cc +++ b/gpsbabel/gpx.cc @@ -1290,7 +1290,7 @@ gpx_wr_deinit(void) void gpx_read(void) { - while (!reader->atEnd()) { + for (bool atEnd = false; !reader->atEnd() && !atEnd;) { reader->readNext(); // do processing switch (reader->tokenType()) { @@ -1316,10 +1316,15 @@ gpx_read(void) gpx_cdata(reader->text().toString()); break; + case QXmlStreamReader::Invalid: + atEnd = true; + break; + default: break; } } + if (reader->hasError()) { fatal(MYNAME ":Read error: %s (%s, line %ld, col %ld)\n", CSTR(reader->errorString()), -- 2.30.2